/**
 * @Copyright (C) 2019 广州金鹏集团有限公司.
 * 本系统是商用软件,未经授权擅自复制或传播本程序的部分或全部将是非法的.
 * @创建人: 赵力
 * @创建时间: 2019-01-23 09:39
 * @版本: V1.0
 */
package com.ikcai.enginegraph.service;

import com.ikcai.enginegraph.domain.base.BaseNode;
import com.ikcai.enginegraph.domain.base.BaseRelationship;

/**
 * @类功能说明: 关系服务类接口
 * @创建人: 赵力
 * @创建时间: 2019-01-23 09:39
 */
public interface IBaseRelationshipService {

    /**
     * @desc 添加关系
     * @param relationship
     * @return PersonRelationship
     * @author 赵力
     * @date 2019-01-22 15:05:57
     */
    BaseRelationship addRelationship(BaseRelationship relationship);

    /**
     * @desc 添加关系
     * @param name 关系名称
     * @param startNode 开始节点
     * @param endNode 结束节点
     * @return com.ikcai.enginegraph.domain.relationship.Relationship
     * @author 赵力
     * @date 2019-01-23 10:17:03
     */
    BaseRelationship addRelationship(String name, BaseNode startNode, BaseNode endNode);

    /**
     * @desc 删除关系
     * @param id
     * @return boolean
     * @author 赵力
     * @date 2019-01-25 15:24:59
     */
    boolean deleteRelationshipById(Long id);

    /**
     * @desc 获取关系 根据节点名称和关系名称
     * @param name 关系名称
     * @param startName 开始节点名称
     * @param endName 结束节点名称
     * @return com.ikcai.enginegraph.domain.relationship.PersonRelationship
     * @author 赵力
     * @date 2019-01-22 16:53:42
     */
    BaseRelationship findPersonRelationshipByName(String name, String startName, String endName);

}
